System and method for vehicular ad-hoc gaming networking

ABSTRACT

A game is provided which can be played over a vehicular ad hoc network. Because vehicles may rapidly change locations, the game is capable of switching to new instances of the same game with relatively seamless transitions. Players who are no longer in a new instance, but were in the previous instance, may be replaced by computer controlled players to add to the seamlessness of the transition.

TECHNICAL FIELD

The illustrative embodiments generally relate to a system and method for ad-hoc networking for the purpose of playing games between a plurality of traveling vehicles.

BACKGROUND

Mobile ad-hoc networking may include a plurality of mobile nodes, which together form a network. Because nodes are free to leave and enter a given network, and the makeup of the network may depend on the nodes that are present, these networks are often referred to as ad-hoc networks.

An ad-hoc network can be contrasted with a traditional network wherein router topology may be static. In ad-hoc networking the routers may be mobile, and they act in concert to form a temporary network.

Ad-hoc networks may also include one-hop networks and multi-hop networks. In a one hop network, a given device can network with any devices in transmission range. Thus, in this type of network, all devices in a given network are communicating with all other devices in the given network.

In multi-hop networking, certain routers may serve to connect devices not in communicable range of each other. For example, if device A is one hundred feet from device B and two hundred feet from device C, and if device B is one hundred feet from device C, then (assuming that the devices have a transmission range of greater than one hundred feet and less than two hundred feet) device B can serve to pass data from A to C in a multi-hop network. In this manner, a multitude of devices that are out of transmission range of each other can be part of the network, provided there are intermediary devices to pass along the signal.

SUMMARY OF ILLUSTRATIVE EMBODIMENTS

In one illustrative embodiment, a vehicle communication system includes a computer processor in communication with persistent and non-persistent memory, and a local transceiver operable to communicate with a remote transceiver of another vehicle communication system and in communication with the processor.

This system can be used for playing a multi-player game over an ad-hoc network, and the processor, in conjunction with the persistent and non-persistent memory, may maintain a game state, including a player character. The player character is a representation of the user playing the game.

Because ad-hoc networks often shift makeup, and will likely do so quite often in a vehicle-based networking scenario, the processor is further operable to detect that a transition to a new game has occurred. The processor is also operable to determine whether one or more players from a previous game are present in the new game, and, for at least one of the players no longer present, to determine whether or not that player should be replaced in the new game by a computer-controlled player.

When a game shift to a new game occurs, it is likely that one or more previously present players will no longer be present in the new game. Accordingly, if the processor determines that a no-longer present player should be replaced by a computer controlled player, the processor is operable to create a computer controlled player in place of the no-longer present player. This aids in the seamlessness of the game transition experience.

In another illustrative embodiment, the processor is further operable to detect when the player character has entered a new game and to determine if there are any existing computer controlled characters in the new game. Since a game can have one or more computer controlled characters in it, it may be desirable to replace one of those characters with a new player, as opposed to adding another player. Consequently, the processor is operable to replace an existing computer controlled character with the player character who has just newly entered the game.

In a further illustrative embodiment, the local processor is operable to detect that a signal strength of a communication with the remote transceiver has fallen below a certain threshold. Since a first vehicle may be communicating with a second vehicle that is rapidly separating from the first vehicle, it is useful to be able to track signal strength.

The local processor is also able to determine that a second remote transceiver has a stronger signal strength. This allows the local processor to find a stronger signal to which to connect. The local processor is further able to detect that a remote processor, connected to the second remote transceiver, is running an instance of the same game presently being run by the local processor.

If there is a better connection available to play the same game, the local processor is operable to automatically connect to the second remote transceiver and to join the instance of the same game being run by the remote processor.

BRIEF DESCRIPTION OF THE DRAWINGS

Other aspects and characteristics of the illustrative embodiments will become apparent from the following detailed description of exemplary embodiments, when read in view of the accompanying drawings, in which:

FIG. 1 shows an exemplary illustrative vehicle-based communication system with wireless capability;

FIG. 2 shows an exemplary illustrative set of vehicles capable of forming an ad-hoc network;

FIG. 3 shows exemplary illustrative games including exemplary player representation;

FIGS. 4A-F show several exemplary illustrative transitions from a first game to a second game;

FIG. 5 shows an exemplary illustrative process for network maintenance;

FIG. 6 shows an exemplary illustrative process for a game transition;

FIG. 7 shows a second exemplary illustrative process for a game transition;

FIG. 8 shows an exemplary illustrative process for transitioning to a new game.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The present invention is described herein in the context of particular exemplary illustrative embodiments. However, it will be recognized by those of ordinary skill that modification, extensions and changes to the disclosed exemplary illustrative embodiments may be made without departing from the true scope and spirit of the instant invention. In short, the following descriptions are provided by way of example only, and the present invention is not limited to the particular illustrative embodiments disclosed herein.

FIG. 1 illustrates system architecture of an illustrative onboard communication system usable for delivery of directions to an automobile. A vehicle enabled with a vehicle-based computing system may contain a visual front end interface 4 located in the vehicle. The user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen. In another illustrative embodiment, the interaction occurs through, button presses, audible speech and speech synthesis.

In the illustrative embodiment 1 shown in FIG. 1, a processor 3 controls at least some portion of the operation of the vehicle-based computing system. Provided within the vehicle, the processor allows onboard processing of commands and routines. Further, the processor is connected to both non-persistent 5 and persistent storage 7. In this illustrative embodiment, the non-persistent storage is random access memory (RAM) and the persistent storage is a hard disk drive (HDD) or flash memory.

The processor is also provided with a number of different inputs allowing the user to interface with the processor. In this illustrative embodiment, a microphone 29, an auxiliary input 25 (for input 33), a USB input 23, a GPS input 24 and a BLUETOOTH input 15 are all provided. An input selector 51 is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by a converter 27 before being passed to the processor.

Outputs to the system can include, but are not limited to, a visual display 4 and a speaker 13 or stereo system output. The speaker is connected to an amplifier 11 and receives its signal from the processor 3 through a digital-to-analog converter 9. Output can also be made to a remote BLUETOOTH device such as PND 54 or a USB device such as vehicle navigation device 60 along the bi-directional data streams shown at 19 and 21 respectively.

In one illustrative embodiment, the system 1 uses the BLUETOOTH transceiver 15 to communicate 17 with a user's nomadic device 53 (e.g., cell phone, smart phone, PDA, etc.). The nomadic device can then be used to communicate 59 with a network 61 outside the vehicle 31 through, for example, communication 55 with a cellular tower 57.

Pairing a nomadic device 53 and the BLUETOOTH transceiver 15 can be instructed through a button 53 or similar input, telling the CPU that the onboard BLUETOOTH transceiver will be paired with a BLUETOOTH transceiver in a nomadic device.

Data may be communicated between CPU 3 and network 61 utilizing, for example, a data-plan, data over voice, or DTMF tones associated with nomadic device 53. Alternatively, it may be desirable to include an onboard modem 63 in order to transfer data between CPU 3 and network 61 over the voice band. In one illustrative embodiment, the processor is provided with an operating system including an API to communicate with modem application software. The modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device). In another embodiment, nomadic device 53 includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example).

If the user has a data-plan associated with the nomadic device, it is possible that the data-plan allows for broad-band transmission and the system could use a much wider bandwidth (speeding up data transfer). In still another embodiment, nomadic device 53 is replaced with a cellular communication device (not shown) that is affixed to vehicle 31.

In one embodiment, incoming data can be passed through the nomadic device via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the vehicle's internal processor 3. In the case of certain temporary data, for example, the data can be stored on the HDD or other storage media 7 until such time as the data is no longer needed.

Additional sources that may interface with the vehicle include a personal navigation device 54, having, for example, a USB connection 56 and/or an antenna 58; or a vehicle navigation device 60, having a USB 62 or other connection, an onboard GPS device 24, or remote navigation system (not shown) having connectivity to network 61.

Further, the CPU could be in communication with a variety of other auxiliary devices 65. These devices can be connected through a wireless 67 or wired 69 connection. Also, or alternatively, the CPU could be connected to a vehicle based wireless router 73, using for example a WiFi 71 transceiver. This could allow the CPU to connect to remote networks in range of the local router 73.

FIG. 2 shows an exemplary illustrative set of vehicles capable of forming an ad-hoc network. In FIG. 2, a plurality of vehicles 201, 203, 205, 207 are each capable of communicating with other vehicles through a vehicle-based computing system (not shown). Each vehicle is provided with a wireless transceiver (providing, for example, BLUETOOTH or WiFi transmission and reception). Each transceiver has a transmission range approximated by the respective dashed circles surrounding the vehicles 209, 211, 213, 215. When a given circle is within range of another vehicle's transceiver, communication between the two vehicles may be possible in a one-hop manner. If two vehicles are out of range of each other but are both in range of a third vehicle, transmission may be possible in a multi-hop manner between the first two vehicles.

As one non-limiting example, vehicle 207 and vehicle 205 can communicate to play a game in a one-hop network. Both vehicles can serve as independent nodes for the network, and both vehicles can store a game state. As information is transferred between the vehicles, the respective game states can be updated. If, however, only one-hop networking is allowed, vehicle 207 cannot communicate with vehicles 201 or 203 as long as the shown vehicle arrangement is maintained.

One reason why it may be desirable to limit games to one hop networking is that if vehicle 205 were to accelerate, then vehicle 207 would fall out of effective range of all three remaining vehicles, removing a corresponding player from the games of those vehicles. If, however, maintenance of a game state were desired, the player being removed from a given state could be replaced by a computer controlled player. This would allow players in each vehicle to see a representation of the removed player(s).

On the other hand, multi-hop networking would allow more games with more players to exist, since vehicles could chain through each other to reach players further down the road. For example, in the illustrated configuration, all four vehicles could engage in a game over a multi-hop network. If one vehicle left the network, then the game states in the leaving vehicle and in the remaining vehicles could be appropriately adjusted. This adjustment could include adding computer controlled players (“robots”) to each of the games to replace removed players, or simply removing players from the relevant game states, or any other suitable adjustment.

FIG. 3 shows exemplary illustrative games including exemplary player representation. In the game 301, player P1 305 is engaged in an exemplary multi-player game with player P2 a 307. This could, for example, be a first person shooter style game, or any other type of multi-player game. In several illustrative embodiments a first-person shooter style game is described, although this description is meant for exemplary purposes only, and is not intended to limit the scope of the invention to this type or style of game.

In an exemplary illustrative non-limiting first person shooter game, the players hunt each other in a maze environment shown in game 301. Because a given player may not be able to observe the entire game space represented in 301 at any given time, the player may not know how many enemies are present in the game. Or, the player may know enemies in his/her proximity (using, for example, radar). Alternatively, a counter may show how many players are currently in the game.

In the progression shown in FIG. 3, at some point, player 1 and player 2 a have moved out of range of each other, or have otherwise become disconnected. In this exemplary embodiment, player 1 has been transitioned to an instance of the same game (e.g., other players in range of player 1 are playing the same level of the same game, and player 1 has joined them). In the game N 303, P1 305 has been placed in the spot where he was when he left the first game 301. This may aid in the seamlessness of a transition between the two games for player 1. In this particular illustrative embodiment, player 2 a 307 has been replaced by a robot R1 309. This robot could remain in play for as long as the game is being played, or the robot could vanish after it is killed. While the robot is computer controlled, if a new player (who, for example, had not been previously playing the game and was not transitioning in from another instance of the game) joined the game, that player could replace the robot, providing a human controlled player. Such swapping allows the players to maintain a semblance of previous game states, even if they transition to a new game.

Player 1's game state now also contains the new second player, player P2 b 311. This player represents a second player who had been playing the game into which player 1 transitioned.

FIGS. 4A-F show several exemplary illustrative transitions from a first game to a second game. Various concerns may exist when transitioning a player from one game to another. Since vehicular ad-hoc networks may be prone to shifting from state to state with the speed of traffic, it may be difficult to maintain a consistent game space for a prolonged period of time. In this instance, it may be desirable to provide games that can easily transition between participants, and at the same time prevent those transitions from interrupting game play too severely.

For example, as previously noted, a robot player may replace a real player in one instance of transitioning. FIGS. 4A-F show exemplary illustrative non-limiting multi-player shooting games. In each pair (4A-B, 4C-D, 4E-F), a first player P1 413 transitions between a first and second game. And in each pair, a different consideration is provided for whether or not to replace a second player P2 a 419 with a robot R1 421.

In FIG. 4A, players P1 413 and P2 a 419 are playing a first multi-player shooting game 401. Player P1 has two lines of sight 415, 417 providing him with a view of various portions of the game. Because player P2 a is within one of those lines of sight, it is possible that player P1 is facing or otherwise aware of the location of player P2 a. Thus, were player P1 to transition to a new game where player P2 a was not present, the transition might be obvious to player P1 (e.g., player P2 a would simply fade or vanish from the game). Accordingly, in this instance, if a second player who is no longer in the game, but who is within a line of sight of a first player is no longer in a game with the first player, the second player is replaced by a robot 419 in the new game 403 shown in FIG. 4B.

Contrast this with player 3 P3 427, who is not within P1's sight lines, and thus can be removed from the game without replacement if P1 transitions to a new game. P2 b 423 is also added to the new game, since P2 b is a real player present in the new game space. Since R1 is not within the line of sight of P2 b, the sudden appearance of R1 should not disrupt P2 b's game experience overmuch. If R1 were in the sight line of P2 b, a decision would need to made as to whose game experience should be disrupted, since either P2 a would need to vanish from P1's screen or R1 would need to appear on P2 b's screen. This decision could go either way, depending on a developer's desire.

In FIG. 4C, a similar game state 405 exists between P1 and P2 a. Again, P2 a is in player P1's sight line and P1 transitions to a new game 407 shown in FIG. 4D. In this transition, however, P2 b will be appearing in P1's sight line (and vice-versa). Since this is a competitive shooting-style game, P1 may not wish to be faced with his previous enemy (P2 a, now possibly represented by a robot) and at the same time be exposed to an attach from P2 b. Accordingly, since a real player will be appearing in a sight line of P1, the addition of the R1 robot is overridden. This prevents P1 from suddenly being attacked on two fronts. In this illustrative example, this consideration of a player being suddenly overwhelmed trumps the consideration of a smooth transition between games, although these priorities could be reversed.

In FIG. 4E, P1 is engaged (or otherwise interacting) with P2 a, as is shown by the gunfire 425. In such a situation, it might be annoying to P1 to have P2 a vanish in the middle of a fight, and it might further lead to confusion and frustration. Accordingly, in this particular transition from game 409 to game 411 shown in FIG. 4F, P2 a is replaced by a robot R1 because this allows P1 to continue fighting or otherwise interacting with P2 a (or a representation thereof). Even though P2 b appears in a sight line of P1, and could, conceivably, attack P1, this exemplary situation uses a determination that it would be worse to lose a target combatant than to gain a second possible combatant while fighting the target combatant.

Again, all of these possible transition rules are exemplary. Different rules can be made and applied to different situations as desired, with at least one general aspect of making game state transitions smooth for players playing the games. At a minimum, some transition rules may be needed because in a vehicular ad-hoc network situation, it is possible that network configurations will not remain for extended periods of time.

FIG. 5 shows an exemplary illustrative process for network maintenance. Since it may be the case that network configurations are rapidly and dynamically shifting as a vehicle moves along a route, it is useful to have a process to handle this environment. Shown is one exemplary illustrative method for dealing with such a shifting network.

Initially, a present connection to at least one other vehicle is tested. This test may need to be performed for each connection to a vehicle engaged in an instance of a game. Further, a determination may need to be made as to whether or not to switch to a new instance of a game. Such a determination can be based on a variety of factors, and may vary depending on how many vehicles are participating in a particular game.

In the illustrative example shown in FIG. 5, only a single connection is present, and so the determination is based at least in part on the strength of the connection between the two vehicle-based computing systems. If more than one connection were present, a different test or a variation on this test may need to be used. Or, this test could be used for each connection, but a single weak signal may not be sufficient to cause a switch to another game. In at least one illustrative embodiment, as long as at least one sufficient signal persists, a transition will not be made to another game.

In this illustrative embodiment, the vehicle-based computing system first tests a present connection with another vehicle based computing system 501. If the signal strength (or other parameter) is above a predetermined threshold 505, the system does nothing other than continue to retest the connection.

If the signal is below a predetermined threshold 505, the system will then check to see if a counter is above a limit 507. In this illustrative implementation, a counter is used to determine that a signal has been low for at least a period of time before a transition is made. This prevents temporary dips in signal strength from causing transitions to new games. On the other hand, a transition could be made whenever a signal drops below a threshold, however briefly.

If the counter is not above a certain limit 507, the counter is incremented 503 and the test is performed again 501. Otherwise, the system checks to see if a new connection is available 509. If no new connection is available, the system will persist with the present game 515 for as long as possible with the current connection. While this may cause some hiccups in game play, this will still allow a user to continue playing until either a new game is available or until the signal is entirely lost.

If a new signal is available, the system checks to ensure that the new signal is stronger than the old signal. Even if a weak signal is causing a possible transition consideration, the transition would preferably be made to a game with a stronger signal. If the only other existing signal is a weaker signal, that signal may be added to a signal queue for later examination, but the system will not transition to connection with that signal in this illustrative embodiment. Instead, the existing game state is maintained.

If there is a new, stronger signal available, then the system adds the player to the new game 513 corresponding to the stronger signal.

In certain illustrative embodiments, other considerations may occur before adding a player to a new game. For example, if there was a total player cap on a game, then the player might not be able to be added to the game. In an instance such as this, the player might be added to a queue, such as a FIFO queue, so that the player can be added if a spot is freed up in the game. Until the player is added, the player can continue playing the game with the system with which that player's vehicle-based computing system has a weaker connection.

FIG. 6 shows an exemplary illustrative process for a game transition. This is one exemplary process for determining whether or not a robotic player should be added in place of a previously existing player. For example, as shown in FIGS. 4A-4F, when players transition games, a determination may need to be made as to whether or not the transitioning player should remain in the present game (in robot or other form) and whether or not previously existing players (from the game from which the transition was made) should remain in the transitioning player's new game.

In this illustrative embodiment, the transitioning player is added to the game state 601. The game play may hesitate for a second while the other decisions are made, or the game may begin immediately. While the transition is made, the system considers whether or not other player(s) were present onscreen 603(or in a transitioning player's field of view, or potential field of view, etc.). If there were no players on-screen, then in this illustrative embodiment, the system proceeds to assimilate the new game information 605 and proceeds with the game. If there were player(s) on screen in the old game, the system then considers if there are any players that will be onscreen in the new game 607.

If there are players that will be on screen, the system does not add any robot players, and instead just assimilates the new game information and begins the game. If there are no players in the new game that will be on screen, then the system substitutes robot players to represent one or more players from the old game 609, adds those players to the game 611 (so that other players in the new game have the information for the robot players) and assimilates the information for the new game and begins play.

FIG. 7 shows a second exemplary illustrative process for a game transition. This process is the same as the process shown in FIG. 6, except an additional determination is made as to whether or not a transitioning player is engaged or otherwise interacting with any presently existing players. That is, if the player is, for example, attacking an existing player, then in this illustrative embodiment a robot is substituted for the player being attacked regardless of whether there are other players in the new game that will be on screen or not.

FIG. 8 shows an exemplary illustrative process for transitioning to a new game. This exemplary process may be used, for example, if a present signal strength drops below a predetermined threshold. It may also be used when an initial networking connection is desired. In this illustrative implementation, the system checks to see if a connection with a system having the strongest signal is available 801. More specifically, in this particular embodiment, the system checks to see if a game with the strongest signal is available 801. It may be the case that the system with the strongest signal is not playing the game that the user desires to play, so in this implementation only systems running a desired game are considered.

If a system running the desired game and having the strongest signal is available, the player is added to the game 803. Otherwise, the vehicle-based computing system moves down a list of available systems running the desired game 805, checking to see if the next-strongest signal is available each time 807.

While the invention has been described in connection with what are presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. 

1. A vehicle communication system comprising: a computer processor in communication with persistent and non-persistent memory; a local transceiver operable to communicate with a remote transceiver of another vehicle communication system and in communication with the processor; wherein the processor, in conjunction with the persistent and non-persistent memory, is operable to maintain a game state, including a player character; wherein the processor is further operable to detect that a change in game players has occurred; wherein the processor is operable to determine whether one or more players previously present in the game state are still present in the game state, and, for at least one player no longer present, to determine whether or not that player should be replaced by a computer-controlled player, wherein if the processor determines that a no-longer present player should be replaced by a computer controlled player, the processor is operable to create a computer controlled player in place of the no-longer present player.
 2. The system of claim 1, wherein the processor is further operable to determine if a game board change has occurred.
 3. The system of claim 1, wherein the processor is further operable to determine whether the no-longer present player was, before the player was no longer present, in an actual field of view of the player character in the previous game.
 4. The system of claim 1, wherein the processor is further operable to determine whether the no-longer present player was, before the player was no longer present, in a possible field of view of the player character in the previous game.
 5. The system of claim 3, wherein the processor's determination that a no-longer present player should be replaced by a computer controlled player is based at least in part on a determination that the no-longer present player was in an actual field of view of the player character in the previous game before the player was no longer present.
 6. The system of claim 4, wherein the processor's determination that a no-longer present player should be replaced by a computer controlled player is based at least in part on a determination that the no-longer present player was in a possible field of view of the player character in the previous game before the player was no longer present.
 7. The system of claim 1, wherein the processor is further operable to determine whether the no-longer present player was in an actual line of sight of the player character in the previous game before the player was no longer present.
 8. The system of claim 1, wherein the processor is further operable to determine whether the no-longer present player was in a possible line of sight of the player character in the previous game before the player was no longer present.
 9. The system of claim 7, wherein the processor's determination that a no-longer present player should be replaced by a computer controlled player is based at least in part on a determination that the no-longer present player was in an actual line of sight of the player character in the previous game before the player was no longer present.
 10. The system of claim 8, wherein the processor's determination that a no-longer present player should be replaced by a computer controlled player is based at least in part on a determination that the no-longer present player was in a possible line of sight of the player character in the previous game before the player was no longer present.
 11. The system of claim 1, wherein the processor is further operable to determine whether the player character in the previous game was actively interacting with the no-longer present player before the player was no longer present.
 12. The system of claim 11, wherein the processor's determination that a no-longer present player should be replaced by a computer controlled player is based at least in part on a determination that the player character in the previous game was actively interacting with the no-longer present player before the player was no longer present.
 13. A vehicle communication system comprising: a computer processor in communication with persistent and non-persistent memory; a local transceiver operable to communicate with a remote transceiver of another vehicle communication system and in communication with the processor; wherein the processor, in conjunction with the persistent and non-persistent memory, is operable to maintain a game state, including at least a player character; wherein the processor is further operable to detect when the player character has entered a game and to determine if there are any existing computer controlled characters in the game; wherein the processor is operable to replace an existing computer controlled character with the player character.
 14. The system of claim 13, wherein the processor is further operable to determine if a game board of the game has changed.
 15. The system of claim 14, wherein replacement of an existing computer controlled character with the player character is at least in part contingent on a determination that the game board of the game has changed.
 16. A vehicle communication system comprising: a local computer processor in communication with persistent and non-persistent memory; a local transceiver operable to communicate with a remote transceiver of another vehicle communication system and in communication with the processor; wherein the local processor is operable to detect that a signal strength of a communication with the remote transceiver has fallen below a certain threshold; wherein the local processor is further able to determine that a second remote transceiver has a stronger signal strength; wherein the local processor is able to detect that a remote processor, connected to the second remote transceiver, is running an instance of the same game presently being run by the local processor; and wherein the local processor is operable to automatically connect to the second remote transceiver and to join the instance of the same game being run by the remote processor.
 17. The system of claim 16, wherein the processor is further operable to determine that the signal strength has been below the threshold for longer than a predetermined period of time, and wherein the automatic connection to the second remote transceiver does not occur until the predetermined period of time has passed. 